package com.tjec.project.businessWorkbench.mapper;

import com.tjec.project.businessWorkbench.domain.BmsBusinessExpertUse;
import com.tjec.project.businessWorkbench.dto.BmsExpertUserDto;
import com.tjec.project.businessWorkbench.vo.AutoExtractVo;
import com.tjec.project.businessWorkbench.vo.ExpertAutoExtractVo;

import java.util.List;

/**
 * 专家使用Mapper接口
 * 
 * @author tjec
 * @date 2020-04-22
 */
public interface BmsBusinessExpertUseMapper 
{
    /**
     * 查询专家使用
     * 
     * @param id 专家使用ID
     * @return 专家使用
     */
    public BmsBusinessExpertUse selectBmsBusinessExpertUseByGuid(String guid);

    /**
     * 查询专家使用列表
     * 
     * @param bmsBusinessExpertUse 专家使用
     * @return 专家使用集合
     */
    public List<BmsBusinessExpertUse> selectBmsBusinessExpertUseList(BmsBusinessExpertUse bmsBusinessExpertUse);

    /**
     * 新增专家使用
     * 
     * @param bmsBusinessExpertUse 专家使用
     * @return 结果
     */
    public int insertBmsBusinessExpertUse(List<BmsBusinessExpertUse> bmsBusinessExpertUses);

    /**
     * 修改专家使用
     * 
     * @param bmsBusinessExpertUse 专家使用
     * @return 结果
     */
    public int updateBmsBusinessExpertUse(BmsBusinessExpertUse bmsBusinessExpertUse);

    /**
     * 删除专家使用
     * 
     * @param id 专家使用ID
     * @return 结果
     */
    public int deleteBmsBusinessExpertUseByGuid(String guid);

    /**
     * 批量删除专家使用
     * 
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBmsBusinessExpertUseByGuids(String[] guids);
    
    /**
     * 自动抽取-个人专家库
     * @param autoExtractVo
     * @return
     */
    public List<BmsBusinessExpertUse> autoExtractPerson(AutoExtractVo autoExtractVo);
    
    /**
     * 自动抽取-企业专家库
     * @param autoExtractVo
     * @return
     */
    public List<BmsBusinessExpertUse> autoExtractCompany(AutoExtractVo autoExtractVo);
    
    /**
     * 
     * @param expertId 专家id
     * @param businessId 业务ID
     * @param flag 专家来源：“0”：个人专家库，“1”：公司专家库
     * @return
     */
    public BmsExpertUserDto getRecommendCounts(String expertId,String businessId,String flag);
    
    /**
     * 
     * @param businessId 业务ID
     * @return
     */
    public String selectIsUseCompanyExpert(String businessId);
}
